The invention relates generally to the field of digital data processing systems and more specifically to systems for managing, retrieving, processing and reporting of data organized in one or more databases in a digital data processing system.
Computers have been used for a number of years in scientific and business applications. In scientific applications, computers often are used to perform computationally-intensive operations on, generally, relatively small amounts of data. In business applications, on the other hand, the computation required is generally much less than in scientific applications, but often the volume of data is substantially greater.
To assist in developing applications for managing large volumes of data, database management systems have been developed. Database management systems typically provide a structured data storage environment and one or more query or other programming languages. An applications developer, who may be developing application programs for accounting, inventory control, finance, and so forth, as well as some scientific applications, can use the database management system to set up one or more databases in which data relevant to the application is stored in logical arrangements. Using a query language provided by the database management system, the applications developer may generate programs which facilitate retrieval of the data from the database, processing of the data, and organization of the processed data into reports.
A number of issues arise in connection with design of an application. One issue relates to the database design, that is, the number of databases, what types of data are to be stored in each database, and how the data are to be organized in each database.
A second issue is the types of reports that the application is to generate. Typically, an application is designed to generate certain types of reports, that is, reports presenting selected relationships among predetermined groupings of data from the databases. If, after the system is completed, a different type of report is required, that is one in which data is presented in a different manner, or if different groupings of data are to be used in generating the reports, a program must be developed, using the query language, to produce the report. This can often take substantial amounts of time for each report.
Some database management systems provide simplified query languages for developing programs for generating reports. Most of the simplified query languages require the user to have a significant amount of knowledge about how the data is organized in the databases, as well as the query language. Some "natural language" query languages have been developed, but they generally only reduce the amount of knowledge required in connection with the query language, permitting the database management system to recognize synonyms for a number of the operational commands specified by the query language. A user of a "natural language" query language has to know the organization of the databases.